Linux环境搭建与准备 1.1 VMware Workstation 安装部署 VMware Workstation 安装步骤: (1)双击运行安装包程序双击运行安装包,弹出图1-1的安装界面,点击下一步。 图1-1 双击运行安装包程序 (2)弹出图1-2所示界面勾选“我接受许可协议中的条款”,点击下一步按钮。 图1-2 接受许可证协议 (3)弹出图1-3界面,选择一个具体的安装位置(建议非中文无空格),选择增强型键盘驱动程序(可不选),点击下一步按钮。 图1-3 选择安装位置 (4)弹出图1-4所示界面,用户可以按照自身使用习惯勾选产品更新和客户体验提升计划,需要可以勾选相应选项,这里我们不勾选,点击下一步按钮。 图1-4 用户体验设置 (5)弹出图1-5界面,勾选“桌面”、“开始菜单程序文件夹” 可以创建相应的快捷方式,然后点击下一步按钮。 图1-5 创建快捷方式 (6)弹出图1-6所示界面,点击安装按钮,程序将开始安装。 图1-6 开始安装 (7)弹出如图1-7所示界面,耐心等待进度条完成,然后点击下一步按钮。 图1-7 等待安装 (8)弹出图1-8所示界面, 输入有效的秘钥,然后点击输入按钮。 图1-8 输入秘钥 (9)弹出图1-9所示界面,点击完成按钮,完成程序的安装。 图1-9 完成安装 1.2创建虚拟机 创建虚拟机步骤: (1)如图1-10所示,打开VMware工作界面,点击创建新的虚拟机按钮创建新的虚拟机。 图1-10 创建新的虚拟机 (2)弹出图1-11所示界面,选择自定义的类型进行安装,然后点击下一步按钮。 图1-11 选择安装方式 (3)弹出图1-12所示界面,选择虚拟机硬件兼容性,这里我们选择默认即可,不需要做任何修改,直接下一步按钮。 图1-12 选择虚拟机硬件兼容性 (4)弹出如图1-13所示界面,我们选择稍后安装操作系统,点击下一步按钮。 图1-13 选择客户端操作系统安装 (5)弹出图1-14所示界面,我们选择Linux操作系统,版本为Red Hat Enterprise linux8 64位,然后点击下一步按钮。 图1-14 选择客户端操作系统类型 (6)弹出如图1-15所示界面,我们命名虚拟机名称,选择虚拟机文件的存储文字,然后点击下一步按钮。 图1-15 修改虚拟机名称 (7)弹出图1-16所示界面,输入处理器的数量,以及每个处理器的内核数量,我们可以根据实际情况填写,这里我们将处理器数量,以及每个处理器内核数量配置为1,然后点击下一步按钮。 图1-16 处理器配置 (8)弹出图1-17所示界面,进行虚拟机内存分配,我们可以根据机器自身情况分配,这里我们分配4096mb,然后点击下一步按钮。 图1-17 虚拟机内存配置 (9)弹出图1-18网络类型选择,我们选择使用网络地址转换(NAT),然后点击下一步按钮。 图1-18 网络类型选择 (10)弹出图1-19所示界面,进行I/O控制器类型选择,选择推荐即可,点击下一步按钮。 图1-19 10选择I/O控制器类型 (11)弹出图1-20所示界面,选择磁盘类型,选择推荐的即可,然后点击下一步按钮。 图1-20 选择磁盘类型 (12)弹出如图1-21所示界面,我们选择创建新虚拟机磁盘,点击下一步按钮。 图1-21 选择创建新的虚拟磁盘 (13)弹出如图1-22所示界面,指定磁盘容量为40GB,空间分配方式为“将虚拟磁盘拆分为多个文件”,点击下一步。 图1-22 指定磁盘容量 (14)弹出如图1-23所示界面,我们可以指定虚拟机的磁盘文件,这里我们设定文件名为hadoop1.vmdk,点击下一步按钮。 图1-23 指定磁盘文件 (15)弹出如图1-24所示界面,点击完成按钮完成虚拟机的创建。 图1-24 完成创建虚拟机 1.3安装rochy linux8系统 安装rochy linux8系统步骤: (1)如图1-25所示,打开VMware软件,双击光驱图标,加载rochy linux8的镜像文件。 图1-25 添加Rochy linux8镜像文件 (2)如图1-26所示,点击开启虚拟机按钮启动虚拟机。 图1-26 启动虚拟机 (3)进入如图1-27所示界面,系统进入倒计时,鼠标点进去,键盘上下键可以选择,选择Install Rochy Linux 8.10 ,然后回车即可。 备注:Ctrl+Alt可以实现Windows主机和VM之间窗口的切换。 图1-27 回车安装Rochy linux8 (4)进入如图1-28所示界面进行语言选择,强烈要求选择English。 图1-28 语言选择 (5)完成语言选择后进入如图1-29所示界面,选择系统键盘,这里选择English,然后点击“done”按钮。 图1-29 选择系统键盘 (6)点击时钟按钮进入选择日期和时间选择界面,选择好相应的日期和时间,点击“done”按钮具体操作如图1-30所示。 图1-30 设置日期与时间 (7)点击“software selection”按钮弹出软件选择界面,选择基础环境安装类型,我们选择最小化安装,然后点击“done”按钮,具体操作如图1-31所示。 图1-31 软件安装 (8)点击“installation destination”按钮,进入安装位置选择界面,选择默认磁盘,点击“done”按钮,具体操作如图1-32所示。 图1-32 选择安装位置 (9)点击Kdump按钮,进入Kdump界面取消相应选择,然后点击“done”按钮,这样可以提高内存的使用率,具体操作如图1-33所示。 图1-33 关闭 KDUMP (10)点击“network&host name”按钮可以配置网络和主机名配置完成后,点击“done”按钮,具体操作如图1-34所示。 图1-34 配置网络与主机名 (12)点击“root password”按钮,配置root账号密码,这里我们配置为123456,最后点击“done”按钮,。具体操作如图1-35所示。 图1-35 配置root账号密码 (11)仔细检查所有配置确定无误后,点击开始安装按钮,具体操作如图1-36所示。 图1-36 检查所有配置开始安装 (13)如图1-37所示,Rochy linux8开始安装,我们耐心等待进度条完成。 图1-37 等待系统安装 (14)如图1-38所示,安装完成后,点击Reboot System按钮重启虚拟机。 图1-38 安装完成,重启虚拟机 (15)如图1-39所示,系统进入到登录界面,输入密码完成登录。 图1-39 登录Rochy linux8系统 至此,Rochy linux8系统已经完整完毕,可以开始使用了。 1.4 linux统一设置 1.4.1配置静态IP 在实际应用中,由于我们使用的是DHCP(Dynamic Host Configuration Protocol:动态主机配置协议)服务器来分配的地址,那么每次重启DHCP服务器ip地址有可能是会变动的。 而我们用Linux来搭建集群学习Hadoop的话,是希望IP固定不变的,因为有很多地方会涉及到IP地址的配置,如果IP地址变化就会涉及到很多相关地方的修改,所以我们需要配置静态IP,那么具体如何进行配置呢? (1)如图1-40所示,在vmware中软件点击编辑-虚拟网络编辑器可以查看当前虚拟的网络信息。 1-40查看网络信息 (2)在命令行输入vi /etc/sysconfig/network-scripts/ifcfg-ens160 命令可以配置网卡信息,具体操作与配置如图1-41所示。 1-41 配置静态ip (3)网络信息配置后,需要重启网络服务,如图1-42所示使用命令systemctl restart NetworkManager。 图1-42 重启网络服务 网络服务重启后,我们需要重启虚拟机,如图1-43所示,输入reboot命令进行重启。 1-43 重启虚拟机 (5)重启后,我要检查一下虚拟机是否能够联网,如图1-44所示Ping www.baidu.com,ping一下百度的网址,如果收到回复表示网络联通。 1-44检查网络 1.4.2 x-shell连接工具 由于直接在Linux虚拟机上操作比较不方便,所以我们选择使用第三方远程连接工具X-shell远程连接到Linux虚拟机,然后通过X-shell对Linux虚拟机进行相关操作。 (1)如图1-45所示,通过360应用商店中进行x-shell工具的安装。 1-45 下载安装X-Shell远程连接工具 (2)如图1-46 所示,打开X-Shell工具,点击file——>new——>connection,配置连接。 1-46 设置连接 (3)选择Authentication,配置用户名和密码,具体操作如图1-47所示。 1-47 设置账号密码 (4)在Sessions对话框选中刚刚创建的会话名称(hadoop1),弹出对话框时我们选择接受并保存,具体操作如图1-48所示。 1-48启动会话 1.4.3 FileZilla传输工具 FileZilla是一个免费开源的FTP软件,可以轻松实现文件上传与下载。 (1)如图1-49所示,在360应用商店,搜索FileZilla,我们可以下载安装FileZilla。 图1-49 安装filezilla (2)如图1-50所示,在FileZilla中点击文件-站点管理,然后新建站点,进行配置后,点击连接,在弹出的对话框选择“accept and save”按钮。 图1-50 filezilla连接虚拟机 1.4.4 配置主机名和IP映射 实际上无论是 IP 地址还是主机名都是为了标识一台主机或者服务器。IP地址就是一台主机上网时IP协议分配给它的一个逻辑地址,主机名(hostname)就相当于又给这台机器取了一个名字,可以为主机取各种各样的名字。如果要用这个名字去访问这台主机,那么就需要配置hostname与IP地址之间的对应关系。具体操作如图1-51所示。 图1-51 配置主机名和ip映射 1.4.5关闭Linux防火墙 防火墙是对服务器进行保护的一种服务,但是有时候这种服务会带来很大的麻烦。比如它会妨碍集群间的相互通信,所以就需要关闭防火墙。 我们首先使用systemctl status firewalld命令查看防火墙状态,具体操作如图1-52所示。 图1-52 查看防火墙状态 关闭防火墙需要两步,首先使用systemctl stop firewalld命令停止防火墙,然后使用systemctl disable firewalld命令使防火墙失效,具体操作如图1-53所示。 图1-53 关闭防火墙 1.4.6创建Linux用户和用户组 在Hadoop平台搭建过程中,为了系统安全考虑,一般不直接使用超级用户 root,而是需要创建一个新的用户和用户组。我们使用useradd hadoop命令添加hadoop用户,使用passwd hadoop命令为Hadoop用户配置密码(配置密码:123456),具体操作如图1-54所示。 图1-54 创建hadoop用户和用户组 1.4.7 Linux SSH免密登录 SSH(Secure Shell)是可以在应用程序中提供安全通信的一个协议,通过SSH可以安全地进行网络数据传输,它的主要原理就是利用非对称加密体系,对所有待传输的数据进行加密,保证数据在传输时不被恶意破坏、泄露或者篡改。 但是Hadoop集群使用SSH不是用来进行数据传输的,而是在Hadoop集群启动和停止的时候,主节点需要通过SSH协议启动或停止从节点上面的进程。如果不配置SSH免密登录,对Hadoop集群的正常使用没有任何影响,但是在启动和停止Hadoop集群的时候,需要输入每个从节点的密码。可以想象一下,当集群规模比较大的时候,比如达到成百上千节点的规模,如果每次都要分别输入集群节点的密码,这种方法肯定是不可取的,所以要对Hadoop集群进行SSH免密登录的配置。 (1)如图1-55所示,进入hadoop用户的根目录,使用ssh-keygen -t rsa命令生成密钥对。 图1-55 生成密钥对 (2)如图1-56所示, 使用cd .ssh/进入.ssh目录,然后使用 cp id_rsa.pub authorized_keys命令将公钥文件id_rsa.pub 中的内容拷贝到相同目录下的authorized_keys文件中。 图1-56拷贝公钥文件 (3)如图1-57所示,切换到hadoop用户的根目录,然后为使用chmod 700 .ssh 以及chmod 600 .ssh/*命令分别为.shh目录,以及其子目录文件赋予相应的权限。 图1-57为.ssh目录及文件赋予相应的权限 (4)如图1-58所示,在命令行输入ssh hadoop1登录hadoop1,第一次登录需要输入yes进行确认,第二次以后登录则不需要,此时表明设置成功。 图1-58使用ssh命令登录hadoop1 1.4.8 JDK安装与配置 由于Hadoop框架是由Java语言开发并运行在JVM之上,所以需要在Linux中提前安装JDK环境。另外,安装Hadoop对JDK版本也有要求,由于安装的Linux系统是64位的Rochy linux8系统,所以需要安装与之相对应的64位JDK安装包。针对Linux系统下的JDK具体版本,可以选择目前比较稳定且常用的JDK1.8版本。 安装tar解压工具 [root@hadoop1 ~]# yum install tar -y (2)下载对应版本的jdk-8u141-linux-x64.tar.gz安装包,并上传至hadoop1节点的/home/hadoop/app目录下,JDK安装包所在目录如下所示: [hadoop@hadoop1 app]$ ls jdk-8u141-linux-x64.tar.gz (3)在当前目录下,使用tar命令对JDK进行解压,具体操作如下所示: [hadoop@hadoop1 app]$ tar -zxvf jdk-8u141-linux-x64.tar.gz 为了方便管理多版本JDK,使用ln命令创建JDK软连接,具体操作如下所示。 [hadoop@hadoop1 app]$ ln -s jdk1.8.0_141 jdk (4)在hadoop用户下,使用vi命令打开.bashrc配置文件,配置JDK环境变量,具体添加内容如下所示: [hadoop@hadoop1 app]$ vi ~/.bashrc JAVA_HOME=/home/hadoop/app/jdk CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$PATH export JAVA_HOME CLASSPATH PATH 使用source命令执行.bashrc文件,JDK环境变量才能生效,具体操作如下所示。 [hadoop@hadoop1 app]$ source ~/.bashrc [hadoop@hadoop1 app]$ echo $JAVA_HOME /home/hadoop/app/jdk (4)在hadoop用户下,使用Java命令查看JDK版本号,查看表示jdk安装成功,具体操作如下所示。 [hadoop@hadoop1 app]$ java -version java version "1.8.0_141" Java(TM) SE Runtime Environment (build 1.8.0_141-b15) Java HotSpot(TM) 64-Bit Server VM (build 25.141-b15, mixed mode) 如果打印的信息能查看到JDK版本号,说明JDK安装成功。 (11)重启电脑, 开始使用 . 收获慢慢…… II